package com.zbkj.admin.request;

import com.zbkj.admin.annotation.StringContains;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;

/**
 * 用户地址表
 * +----------------------------------------------------------------------
 * | CRMEB [ CRMEB赋能开发者，助力企业发展 ]
 * +----------------------------------------------------------------------
 * | Copyright (c) 2016~2025 https://www.crmeb.com All rights reserved.
 * +----------------------------------------------------------------------
 * | Licensed CRMEB并不是自由软件，未经许可不能去掉CRMEB相关版权
 * +----------------------------------------------------------------------
 * | Author: CRMEB Team <admin@crmeb.com>
 * +----------------------------------------------------------------------
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Schema(description = "RegisterThirdUserRequest对象 三方用户注册对象")
public class RegisterThirdUserRequest implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "推广人id")
    private Integer spreadPid;

    @Schema(description = "用户类型:wechat-公众号，routine-小程序，h5-H5,iosWx-苹果微信，androidWx-安卓微信")
    @StringContains(limitValues = {"wechat", "routine", "h5", "iosWx", "androidWx"}, message = "未知的用户类型")
    private String type;

    @Schema(description = "用户openId")
    private String openId;

    @Schema(description = "前端临时授权code")
    private String code;
}
